#ifndef __CATEDRA_MATERIA_H__
#define __CATEDRA_MATERIA_H__

#include <list>
#include "DisponibilidadHorariaDiaria.h"

using namespace std;

namespace modelo {

	class CatedraMateria 
	{
	public:
		CatedraMateria(string descripcion);
		~CatedraMateria(void);

		void Deshabilitar();
		bool SeCursaDentroDe(list<DisponibilidadHorariaDiaria*> disponibilidadHoraria);
		bool SeSolapaCon(CatedraMateria* otraCatedra);

		/** Accesibilidad */
		string GetDescripcion() {return descripcion;}
		list<DiaCursadaMateria*> GetDiasCursada() {return diasCursada;}
		bool SeTomaAsistencia() {return seTomaAsistencia;}
		bool EstaHabilitada() {return habilitada;}

		void SetDescripcion(string otraDescripcion) {descripcion=otraDescripcion;}
		void SetDiasCursada(list<DiaCursadaMateria*> otrosDiasCursada) {diasCursada=otrosDiasCursada;}
		void SeTomaAsistencia(bool seTomaAsist) {seTomaAsistencia = seTomaAsist;}

	private:
		string descripcion;
		bool habilitada;
		bool seTomaAsistencia;
		list<DiaCursadaMateria*> diasCursada;
	};
}
#endif